﻿/// <reference path="http://localhost:6770/Scripts/jquery-1.6.2-vsdoc.js" />


$(function ()
{
    $("input[data-control='DecimalTextBox']").decimalTextBox();
});


(function ($)
{
    $.fn.extend(
    {
        // decimalTextBox
        decimalTextBox: function (options)
        {
            // Options
            var defaults = {};
            options = $.extend(defaults, options);
            this.each(function (index)
            {
                $(this).keypress(function (event)
                {
                    var keyCode = event.which;

                    if (this.value.lastIndexOf(".") == 0) {
                        this.value = '';
                    }
                    if (keyCode == 46) {
                        if (this.value.indexOf(".") != -1) {
                            return false;
                        }
                    }

                    var target$ = $(event.target);
                    if (target$.data("enable-negative"))
                    {
                        
                        return (keyCode >= 48 && keyCode <= 57) || keyCode == 8 || keyCode == 46 || keyCode == 45;
                    }
                    else
                    {
                        return (keyCode >= 48 && keyCode <= 57) || keyCode == 8 || keyCode == 46;
                    }
                });

                $(this).bind("paste", function(e){
                    var target$ = $(e.target);
                    if(clipboardData != undefined && clipboardData!= null)
                    {
                        if (target$.data("enable-negative"))
                        {
                            return (/^-?\d{1,7}(\.\d{1,2})?$/).test(clipboardData.getData('text').toString());
                        }
                        else
                        {
                            return (/^\d{1,7}(\.\d{1,2})?$/).test(clipboardData.getData('text').toString());
                        }
                    }
                });

                $(this).bind("dragenter", function () {
                    return false;
                });

                $(this).bind("blur", function () {
                    if (this.value.lastIndexOf(".") == 0) {
                        this.value = '';
                    }
                    if (this.value.lastIndexOf(".") == (this.value.length - 1)) {
                        this.value = this.value.substr(0, this.value.length - 1);
                    } else if (isNaN(this.value)) {
                        this.value = "";
                    }
                });

//                $(this).blur(function(event)
//                {
//                    var target$ = $(event.target);
//                    if (target$.data("enable-negative"))
//                    {
//                        if(!(/^-?\d{1,7}(\.\d{1,2})?$/).test($(this).val()))
//                        {
//                            $(this).val("");
//                        }
//                    }
//                    else{
//                        if(!(/^\d{1,7}(\.\d{1,2})?$/).test($(this).val()))
//                        {
//                             $(this).val("");
//                        }
//                    }
//                    
//                });
            });
        }
    });

})(jQuery);





